$(function () {
    function delBind() {
        $().unbind('keydown');
    }
    addBind();

    function addBind() {
        $(document).bind('keydown', function (a) {
            switch (a.keyCode) {
                case 8: {
                    if ($(".divtxt .select").html() != null) {
                        $(".divtxt .select").remove();
                        return false;
                    }
                }
                    break;
                case 46: {
                    $(".divtxt .select").remove();
                }
                    break;
            }
        });
    }

    function xg() {
        $(".divtxt .one").hover(function (e) {
            $(this).not(".select").not(".in").addClass("over");
        }, function () {
            $(this).removeClass("over");
        }).click(function (a) {
            a.stopPropagation();
            $(".divtxt .select").removeClass("select");
            $(this).not(".in").removeClass("over").addClass("select");
            addBind()
        }).dblclick(function (b) {
            b.stopPropagation();
            $(this).removeClass("select").addClass("in");
            var w = $(this).width();
            var h = $(this).height();
            var c;
            if ($(this).children(".hd").html()) {
                c = $(this).children(".hd").text();
            } else {
                c = $(this).text();
            }
            if ($(this).children("input").html() == null) {
                $(this).html("<input id=\"inputEmail\" type=\"text\" value=\"" + c + "\" width=\"" + w + "\"/>").append("<div class='hd'>" + c + "</div>");
                bindAuto();
            }
            $(this).children("input").focus();
            delBind();
            $(this).children("input").bind('focus', function () {
                if (/msie/.test(navigator.userAgent.toLowerCase())) {
                    setFocus.call(this);
                } else {
                    this.setFocus();
                }
                $(".divtxt").not(".one").unbind('click');
            }).blur(function () {
                xr();
                addBind();
                var a = $(this).val().split("<");
                if (a.length < 2) {
                    $(this).parent().addClass("error");
                } else {
                    if (!ismail(a[1].substring(0, a[1].length - 2))) {
                        $(this).parent().addClass("error");
                    }
                }
                $(".hd").text($(this).val());
                $(".hd").removeClass("hd");
                $(this).parent().removeClass("in");
                $(this).remove();
            })
        })
    }

    xr();

    function checkEmail() {
        $(".divtxt .one .addr").each(function (e, d) {
            if (!ismail($(this).text())) {
                $(this).parent().addClass("error");
            }
        });
    }

    function xr() {
        $(".divtxt").not(".one,.error").bind('click', function () {
            $(this).append("<input type=\"text\" id=\"inputEmail\" value=\"\" width=\"10\" height=\"20\"/>");
            bindAuto();
            $(this).find("input").focus();
            $(".select").removeClass("select");
            $(".divtxt input").blur(function () {
                if ($(".ui-autocomplete").hasClass("txb") || $(".ui-autocomplete").html() == "") {
                    if ($(this).val()) {
                        delBind();
                        var c = $(this).val().split("<");
                        var d = false;

                        $(this).closest(".divtxt").find("span[class=addr]").each(function (a, b) {
                            if (c.length > 1) {
                                if ($(b).html() == c[1].substring(0, c[1].length - 1)) {
                                    d = true;
                                }
                            } else {
                                if ($(b).html() == c) {
                                    d = true;
                                }
                            }
                        });
                        if (!d) {
                            if (c.length > 1) {
                                $(this).closest(".divtxt").append("<div class=\"one\"><b>" + c[0] + "</b>" + "<<span class=\"addr\" title=\"" + c[1].substring(0, c[1].length - 1) + "\">" + c[1].substring(0, c[1].length - 1) + "</span>>;</div>");
                            } else {
                                $(this).closest(".divtxt").append("<div class=\"one\"><b>" + $(".divtxt input").val() + "</b>" + "<<span class=\"addr\" title=\"" + $(".divtxt input").val() + "\">" + $(".divtxt input").val() + "</span>>;</div>");
                            }
                            checkEmail();
                        }
                    } else {
                        addBind();
                    }
                    $(this).remove();
                    xg();
                }
            })
        })
    }

    function bindAuto() {
        $("#inputEmail").autocomplete({
            minLength: 0,
            source: articleObj.f,
            select: function (a, b) {
                $(this).val(b.item.value);
                $(".ui-autocomplete").addClass("txb");
                $(this).blur();
                return false;
            },
            close: function () {
                $(".ui-autocomplete").addClass("txb");
            }
        });
    }

});
function setFocus() {
    if (this.value.length > 2) {
        var a = this.createTextRange();
        a.moveStart('character', this.value.length / 2);
        a.collapse(true);
        a.select();
    }
}
function ismail(a) {
   var user= articleObj.user1s[a]
    if(user===undefined) return false;
    if (user.loginName == a) return true;
}